https://github.com/tdb-project/tdb-community
· scanned 2026-06-16 00:30 UTC (2 months, 2 weeks ago)
22 raw signals (0 security + 22 graph)
Last scanned 2 months, 2 weeks ago · v1 · 16 actionable findings from 1 signal source. 6 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 242 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 |
|---|---|---|---|
clean_registry |
software | healthy | tests/conftest.py:47 |
sample_csv |
software | healthy | tests/test_persistence_mcp.py:39 |
registered_source |
software | healthy | tests/test_persistence_mcp.py:57 |
test_first_source_accepted |
software | healthy | tests/test_persistence_mcp.py:77 |
test_second_source_rejected_409 |
software | healthy | tests/test_persistence_mcp.py:89 |
test_delete_then_register_new_succeeds |
software | healthy | tests/test_persistence_mcp.py:111 |
test_registered_source_retrievable_via_store |
software | healthy | tests/test_persistence_mcp.py:131 |
test_clear_all_removes_from_db |
software | healthy | tests/test_persistence_mcp.py:137 |
test_list_sources_returns_stored_record |
software | healthy | tests/test_persistence_mcp.py:141 |
test_schema_returns_200_with_columns |
software | healthy | tests/test_persistence_mcp.py:153 |
test_schema_column_names_match_csv |
software | healthy | tests/test_persistence_mcp.py:162 |
test_schema_columns_have_type_field |
software | healthy | tests/test_persistence_mcp.py:170 |
test_schema_404_for_unknown_source |
software | healthy | tests/test_persistence_mcp.py:177 |
test_schema_requires_auth |
software | healthy | tests/test_persistence_mcp.py:181 |
_post |
software | healthy | tests/test_persistence_mcp.py:192 |
test_initialize_returns_server_info |
software | healthy | tests/test_persistence_mcp.py:197 |
test_initialize_works_without_auth |
software | healthy | tests/test_persistence_mcp.py:209 |
test_tools_list_requires_auth |
software | healthy | tests/test_persistence_mcp.py:218 |
test_tools_list_returns_exactly_one_tool |
software | healthy | tests/test_persistence_mcp.py:226 |
test_tools_call_no_source_returns_error_content |
software | healthy | tests/test_persistence_mcp.py:234 |
test_tools_call_with_source_returns_rows |
software | healthy | tests/test_persistence_mcp.py:249 |
test_tools_call_blocked_sql_returns_is_error |
software | healthy | tests/test_persistence_mcp.py:265 |
test_unknown_method_returns_json_rpc_error |
software | healthy | tests/test_persistence_mcp.py:279 |
test_invalid_json_rpc_version_returns_error |
software | healthy | tests/test_persistence_mcp.py:286 |
test_unknown_tool_name_returns_error |
software | healthy | tests/test_persistence_mcp.py:292 |
test_limit_above_1000_rejected_with_422 |
software | healthy | tests/test_persistence_mcp.py:310 |
test_limit_at_1000_accepted |
software | healthy | tests/test_persistence_mcp.py:322 |
test_user_supplied_limit_cannot_exceed_param_cap |
software | healthy | tests/test_persistence_mcp.py:334 |
test_truncated_false_when_all_rows_fit |
software | healthy | tests/test_persistence_mcp.py:356 |
sample_csv |
software | healthy | tests/test_api_auth_query.py:38 |
test_missing_auth_header_returns_401 |
software | healthy | tests/test_api_auth_query.py:60 |
test_invalid_key_returns_401 |
software | healthy | tests/test_api_auth_query.py:64 |
test_valid_key_is_accepted |
software | healthy | tests/test_api_auth_query.py:68 |
test_health_needs_no_auth |
software | healthy | tests/test_api_auth_query.py:72 |
test_register_csv_source |
software | healthy | tests/test_api_auth_query.py:83 |
test_list_sources_empty |
software | healthy | tests/test_api_auth_query.py:97 |
test_list_sources_after_register |
software | healthy | tests/test_api_auth_query.py:102 |
test_duplicate_name_returns_409 |
software | healthy | tests/test_api_auth_query.py:115 |
test_register_nonexistent_file_returns_400 |
software | healthy | tests/test_api_auth_query.py:125 |
test_register_missing_file_path_returns_400 |
software | healthy | tests/test_api_auth_query.py:136 |
test_get_source_by_id |
software | healthy | tests/test_api_auth_query.py:145 |
test_get_nonexistent_source_returns_404 |
software | healthy | tests/test_api_auth_query.py:159 |
test_delete_source |
software | healthy | tests/test_api_auth_query.py:163 |
test_valid_select |
software | healthy | tests/test_api_auth_query.py:185 |
test_empty_sql_invalid |
software | healthy | tests/test_api_auth_query.py:188 |
test_non_select_invalid |
software | healthy | tests/test_api_auth_query.py:192 |
test_blocked_keywords_in_subquery |
software | healthy | tests/test_api_auth_query.py:198 |
test_select_with_where_is_valid |
software | healthy | tests/test_api_auth_query.py:202 |
_register |
software | healthy | tests/test_api_auth_query.py:308 |
test_basic_select_all |
software | healthy | tests/test_api_auth_query.py:225 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
requirements-dev.txt |
software | healthy | requirements-dev.txt |
README.md |
software | healthy | README.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
Dockerfile |
software | healthy | Dockerfile |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
requirements.txt |
software | healthy | requirements.txt |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
SECURITY.md |
software | healthy | SECURITY.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
docker-compose.yml |
software | healthy | docker-compose.yml |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_persistence_mcp.py |
software | healthy | tests/test_persistence_mcp.py |
test_api_auth_query.py |
software | healthy | tests/test_api_auth_query.py |
__init__.py |
software | healthy | tests/integration/__init__.py |
test_validator.py |
software | healthy | tests/unit/test_validator.py |
__init__.py |
software | healthy | tests/unit/__init__.py |
manual_testing.md |
software | healthy | docs/testing/manual_testing.md |
codeql.yml |
software | healthy | .github/workflows/codeql.yml |
ci.yml |
software | healthy | .github/workflows/ci.yml |
publish.yml |
software | healthy | .github/workflows/publish.yml |
__init__.py |
software | healthy | src/tdb/__init__.py |
config.py |
software | healthy | src/tdb/config.py |
main.py |
software | healthy | src/tdb/main.py |
__init__.py |
software | healthy | src/tdb/models/__init__.py |
source.py |
software | healthy | src/tdb/models/source.py |
__init__.py |
software | healthy | src/tdb/auth/__init__.py |
apikey.py |
software | healthy | src/tdb/auth/apikey.py |
__init__.py |
software | healthy | src/tdb/connectors/__init__.py |
csv.py |
software | healthy | src/tdb/connectors/csv.py |
base.py |
software | healthy | src/tdb/connectors/base.py |
__init__.py |
software | healthy | src/tdb/api/__init__.py |
__init__.py |
software | healthy | src/tdb/api/routes/__init__.py |
client.py |
software | healthy | src/tdb/cli/client.py |
__init__.py |
software | healthy | src/tdb/cli/__init__.py |
main.py |
software | healthy | src/tdb/cli/main.py |
__init__.py |
software | healthy | src/tdb/audit/__init__.py |
logger.py |
software | healthy | src/tdb/audit/logger.py |
migrations.py |
software | healthy | src/tdb/registry/migrations.py |
store.py |
software | healthy | src/tdb/registry/store.py |
__init__.py |
software | healthy | src/tdb/engine/__init__.py |
validator.py |
software | healthy | src/tdb/engine/validator.py |
query.py |
software | healthy | src/tdb/routers/query.py |
mcp.py |
software | healthy | src/tdb/routers/mcp.py |
sources.py |
software | healthy | src/tdb/routers/sources.py |
| Label | Layer | Status | Path |
|---|---|---|---|
TestCommunityOneSourceLimit |
software | healthy | tests/test_persistence_mcp.py:76 |
TestPersistence |
software | healthy | tests/test_persistence_mcp.py:130 |
TestSchemaEndpoint |
software | healthy | tests/test_persistence_mcp.py:152 |
TestMcpEndpoint |
software | healthy | tests/test_persistence_mcp.py:191 |
TestRowLimitEnforcement |
software | healthy | tests/test_persistence_mcp.py:309 |
TestAuth |
software | healthy | tests/test_api_auth_query.py:59 |
TestSourceRegistry |
software | healthy | tests/test_api_auth_query.py:82 |
TestSqlValidator |
software | healthy | tests/test_api_auth_query.py:184 |
TestQuery |
software | healthy | tests/test_api_auth_query.py:211 |
TestPathConfinement |
software | healthy | tests/test_api_auth_query.py:306 |
TestValidSQL |
software | healthy | tests/unit/test_validator.py:9 |
TestBlockedSQL |
software | healthy | tests/unit/test_validator.py:27 |
SourceType |
software | healthy | src/tdb/models/source.py:13 |
SourceStatus |
software | healthy | src/tdb/models/source.py:20 |
SourceBase |
software | healthy | src/tdb/models/source.py:26 |
SourceCreate |
software | healthy | src/tdb/models/source.py:35 |
Source |
software | healthy | src/tdb/models/source.py:39 |
SchemaColumn |
software | healthy | src/tdb/models/source.py:50 |
SourceSchema |
software | healthy | src/tdb/models/source.py:55 |
QueryRequest |
software | healthy | src/tdb/models/source.py:62 |
QueryResult |
software | healthy | src/tdb/models/source.py:73 |
QueryResponse |
software | healthy | src/tdb/models/source.py:83 |
SourceRegistrationRequest |
software | healthy | src/tdb/models/source.py:93 |
SourceRecord |
software | healthy | src/tdb/models/source.py:101 |
SourceSummary |
software | healthy | src/tdb/models/source.py:113 |
CsvConnector |
software | healthy | src/tdb/connectors/csv.py:35 |
ConnectorResult |
software | healthy | src/tdb/connectors/base.py:16 |
BaseConnector |
software | healthy | src/tdb/connectors/base.py:29 |
ValidationResult |
software | healthy | src/tdb/engine/validator.py:21 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
integration |
software | healthy | tests/integration |
unit |
software | healthy | tests/unit |
docs |
software | healthy | docs |
testing |
software | healthy | docs/testing |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
tdb |
software | healthy | src/tdb |
models |
software | healthy | src/tdb/models |
auth |
software | healthy | src/tdb/auth |
connectors |
software | healthy | src/tdb/connectors |
api |
software | healthy | src/tdb/api |
routes |
software | healthy | src/tdb/api/routes |
cli |
software | healthy | src/tdb/cli |
audit |
software | healthy | src/tdb/audit |
registry |
software | healthy | src/tdb/registry |
engine |
software | healthy | src/tdb/engine |
routers |
software | healthy | src/tdb/routers |
| Label | Layer | Status | Path |
|---|---|---|---|
GET / |
api | healthy | src/tdb/main.py |
GET /health |
api | healthy | src/tdb/main.py |
POST / |
api | healthy | src/tdb/routers/query.py |
GET /{source_id} |
api | healthy | src/tdb/routers/sources.py |
DELETE /{source_id} |
api | healthy | src/tdb/routers/sources.py |
GET /{source_id}/schema |
api | healthy | src/tdb/routers/sources.py |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | README.md |
sqlite |
data | healthy | README.md |
postgres |
data | healthy | src/tdb/models/source.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::codeql |
cicd | healthy | .github/workflows/codeql.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
analyze |
cicd | healthy | .github/workflows/codeql.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | README.md |
port:04 |
network | healthy | .github/workflows/codeql.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
tdb |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-p4er0k70 |
software | healthy | /tmp/repobility-clone-p4er0k70 |
| Label | Layer | Status | Path |
|---|---|---|---|
sources |
data | healthy | src/tdb/registry/migrations.py |
| Label | Layer | Status | Path |
|---|---|---|---|
migrations.py |
data | healthy | src/tdb/registry/migrations.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::README.md |
security | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/fc1c26d8-038c-4843-b29c-5d31b4b0c6b8/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/fc1c26d8-038c-4843-b29c-5d31b4b0c6b8/
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.