https://github.com/ccedacero/nyc-property-intel
· scanned 2026-06-17 01:46 UTC (1 month, 1 week ago)
43 raw signals (0 security + 43 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ +9.0 (diff) · 43 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1204 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 |
|---|---|---|---|
get_remote_count |
software | healthy | download_and_verify.py:19 |
get_local_rows |
software | healthy | download_and_verify.py:28 |
main |
software | healthy | download_and_verify.py:35 |
log |
software | healthy | download_live_datasets.py:44 |
fetch_page |
software | healthy | download_live_datasets.py:48 |
download_dataset |
software | healthy | download_live_datasets.py:75 |
main |
software | healthy | download_live_datasets.py:149 |
log |
software | healthy | resume_311.py:18 |
count_local_rows |
software | healthy | resume_311.py:21 |
fetch_page |
software | healthy | resume_311.py:31 |
main |
software | healthy | resume_311.py:50 |
_make_request |
software | healthy | tests/test_anon_chat_instrumentation.py:45 |
receive |
software | healthy | tests/test_anon_chat_instrumentation.py:67 |
__init__ |
software | healthy | tests/test_anon_chat_instrumentation.py:96 |
execute |
software | healthy | tests/test_anon_chat_instrumentation.py:80 |
fetchrow |
software | healthy | tests/test_anon_chat_instrumentation.py:363 |
fetchval |
software | healthy | tests/test_anon_chat_instrumentation.py:89 |
_get_pool |
software | healthy | tests/test_anon_chat_instrumentation.py:100 |
validate |
software | healthy | tests/test_anon_chat_instrumentation.py:103 |
check_rate_limit |
software | healthy | tests/test_anon_chat_instrumentation.py:106 |
record_call |
software | healthy | tests/test_anon_chat_instrumentation.py:109 |
_drain_streaming_response |
software | healthy | tests/test_anon_chat_instrumentation.py:113 |
_fake_agentic_stream |
software | healthy | tests/test_anon_chat_instrumentation.py:126 |
test_empty_ip_returns_empty_hash |
software | healthy | tests/test_anon_chat_instrumentation.py:136 |
test_hash_is_32_hex_chars |
software | healthy | tests/test_anon_chat_instrumentation.py:139 |
test_hash_uses_secret_when_set |
software | healthy | tests/test_anon_chat_instrumentation.py:144 |
test_same_ip_same_hash_within_process |
software | healthy | tests/test_anon_chat_instrumentation.py:152 |
test_inserts_a_row |
software | healthy | tests/test_anon_chat_instrumentation.py:165 |
test_empty_ip_hash_inserts_null |
software | healthy | tests/test_anon_chat_instrumentation.py:176 |
test_db_failure_is_swallowed |
software | healthy | tests/test_anon_chat_instrumentation.py:185 |
test_pool_none_is_noop |
software | healthy | tests/test_anon_chat_instrumentation.py:191 |
test_anon_query_inserts_row |
software | healthy | tests/test_anon_chat_instrumentation.py:203 |
test_missing_ip_does_not_crash |
software | healthy | tests/test_anon_chat_instrumentation.py:247 |
test_db_error_does_not_break_chat |
software | healthy | tests/test_anon_chat_instrumentation.py:285 |
test_free_limit_reached_does_not_record |
software | healthy | tests/test_anon_chat_instrumentation.py:312 |
test_blocked_second_dd_still_records_row |
software | healthy | tests/test_anon_chat_instrumentation.py:347 |
_fake_analyze_stream |
software | healthy | tests/test_anon_chat_instrumentation.py:377 |
__init__ |
software | healthy | tests/test_loops_webhook_hardening.py:39 |
create_token |
software | healthy | tests/test_loops_webhook_hardening.py:51 |
_sign |
software | healthy | tests/test_loops_webhook_hardening.py:72 |
_make_request |
software | healthy | tests/test_loops_webhook_hardening.py:83 |
receive |
software | healthy | tests/test_loops_webhook_hardening.py:93 |
_payload |
software | healthy | tests/test_loops_webhook_hardening.py:99 |
test_known_lib_disposable |
software | healthy | tests/test_loops_webhook_hardening.py:107 |
test_custom_observed_disposable |
software | healthy | tests/test_loops_webhook_hardening.py:110 |
test_legitimate_domain_passes |
software | healthy | tests/test_loops_webhook_hardening.py:116 |
test_case_insensitive |
software | healthy | tests/test_loops_webhook_hardening.py:120 |
test_custom_set_includes_all_four_observed |
software | healthy | tests/test_loops_webhook_hardening.py:124 |
test_canonical_amazon_meyer_alpers |
software | healthy | tests/test_loops_webhook_hardening.py:131 |
test_brand_on_free_provider_allowed |
software | healthy | tests/test_loops_webhook_hardening.py:134 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.example |
software | healthy | .env.example |
download_and_verify.py |
software | healthy | download_and_verify.py |
DISCLAIMER.md |
software | healthy | DISCLAIMER.md |
download_live_datasets.py |
software | healthy | download_live_datasets.py |
vercel.json |
software | healthy | vercel.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
nixpacks.toml |
software | healthy | nixpacks.toml |
resume_311.py |
software | healthy | resume_311.py |
README.md |
software | healthy | README.md |
pyproject.toml |
software | healthy | pyproject.toml |
railway.toml |
software | healthy | railway.toml |
SECURITY.md |
software | healthy | SECURITY.md |
fast_download.sh |
software | healthy | fast_download.sh |
LICENSE |
software | healthy | LICENSE |
docker-compose.yml |
software | healthy | docker-compose.yml |
.mcp.json |
software | healthy | .mcp.json |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
test_anon_chat_instrumentation.py |
software | healthy | tests/test_anon_chat_instrumentation.py |
test_loops_webhook_hardening.py |
software | healthy | tests/test_loops_webhook_hardening.py |
conftest.py |
software | healthy | tests/conftest.py |
test_signup_dashboard.py |
software | healthy | tests/test_signup_dashboard.py |
test_coerce.py |
software | healthy | tests/test_coerce.py |
test_input_validation.py |
software | healthy | tests/test_input_validation.py |
__init__.py |
software | healthy | tests/__init__.py |
test_resilient_backfill.py |
software | healthy | tests/test_resilient_backfill.py |
test_phase_b_integration.py |
software | healthy | tests/test_phase_b_integration.py |
test_analysis_unit.py |
software | healthy | tests/test_analysis_unit.py |
test_security.py |
software | healthy | tests/test_security.py |
test_sync_all_cleanup.py |
software | healthy | tests/test_sync_all_cleanup.py |
test_new_tools_validation.py |
software | healthy | tests/test_new_tools_validation.py |
test_signup_endpoint.py |
software | healthy | tests/test_signup_endpoint.py |
test_utils.py |
software | healthy | tests/test_utils.py |
test_cleanup_idle_tokens.py |
software | healthy | tests/test_cleanup_idle_tokens.py |
test_chat_activation.py |
software | healthy | tests/test_chat_activation.py |
test_trial_limits.py |
software | healthy | tests/test_trial_limits.py |
test_shared_reports.py |
software | healthy | tests/test_shared_reports.py |
test_bug_regressions.py |
software | healthy | tests/test_bug_regressions.py |
test_tools_integration.py |
software | healthy | tests/test_tools_integration.py |
__init__.py |
software | healthy | tests/test_tools/__init__.py |
__init__.py |
software | healthy | tests/test_queries/__init__.py |
__init__.py |
software | healthy | tests/fixtures/__init__.py |
sample_bbl.py |
software | healthy | tests/fixtures/sample_bbl.py |
sync_delta.py |
software | healthy | scripts/sync_delta.py |
alerting.py |
software | healthy | scripts/alerting.py |
clean_blog_citations.py |
software | healthy | scripts/clean_blog_citations.py |
column_null_audit.py |
software | healthy | scripts/column_null_audit.py |
load_rolling_sales.py |
software | healthy | scripts/load_rolling_sales.py |
build_blog_page.py |
software | healthy | scripts/build_blog_page.py |
load_local_datasets.py |
software | healthy | scripts/load_local_datasets.py |
dashboard.py |
software | healthy | scripts/dashboard.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_RecordingPool |
software | healthy | tests/test_anon_chat_instrumentation.py:73 |
_FakeAuth |
software | healthy | tests/test_anon_chat_instrumentation.py:93 |
TestHashIp |
software | healthy | tests/test_anon_chat_instrumentation.py:135 |
TestRecordAnonChatQuery |
software | healthy | tests/test_anon_chat_instrumentation.py:164 |
TestChatHandlerAnonPath |
software | healthy | tests/test_anon_chat_instrumentation.py:200 |
_AnalyzeUsedPool |
software | healthy | tests/test_anon_chat_instrumentation.py:362 |
FakeTokenAuth |
software | healthy | tests/test_loops_webhook_hardening.py:36 |
TestIsDisposableDomain |
software | healthy | tests/test_loops_webhook_hardening.py:106 |
TestIsBrandPrefixSuspicious |
software | healthy | tests/test_loops_webhook_hardening.py:130 |
TestDomainHasMx |
software | healthy | tests/test_loops_webhook_hardening.py:152 |
TestIsInternal |
software | healthy | tests/test_signup_dashboard.py:31 |
TestDomainOf |
software | healthy | tests/test_signup_dashboard.py:49 |
TestIsDisposable |
software | healthy | tests/test_signup_dashboard.py:63 |
TestClassify |
software | healthy | tests/test_signup_dashboard.py:82 |
TestRenderFunnel |
software | healthy | tests/test_signup_dashboard.py:194 |
TestRenderBotDetail |
software | healthy | tests/test_signup_dashboard.py:229 |
TestRenderChartData |
software | healthy | tests/test_signup_dashboard.py:254 |
TestParseFlexibleDate |
software | healthy | tests/test_coerce.py:25 |
TestParseFlexibleDatetime |
software | healthy | tests/test_coerce.py:64 |
TestCoerceDate |
software | healthy | tests/test_coerce.py:82 |
TestCoerceTimestamp |
software | healthy | tests/test_coerce.py:106 |
TestCursorHelpers |
software | healthy | tests/test_coerce.py:123 |
TestCoerceOtherTypes |
software | healthy | tests/test_coerce.py:158 |
TestNormalizeSocrataKeys |
software | healthy | tests/test_coerce.py:181 |
TestParseAddressEdgeCases |
software | healthy | tests/test_input_validation.py:21 |
TestFormatCurrencyEdgeCases |
software | healthy | tests/test_input_validation.py:63 |
TestLookupPropertyValidation |
software | healthy | tests/test_input_validation.py:84 |
TestGetPropertyIssuesValidation |
software | healthy | tests/test_input_validation.py:105 |
TestSearchCompsValidation |
software | healthy | tests/test_input_validation.py:138 |
TestAnalyzePropertyValidation |
software | healthy | tests/test_input_validation.py:177 |
TestRetryBackoffSchedule |
software | healthy | tests/test_resilient_backfill.py:29 |
TestBackfillResetEnv |
software | healthy | tests/test_resilient_backfill.py:54 |
TestSafeFloat |
software | healthy | tests/test_analysis_unit.py:26 |
TestBuildPropertySummary |
software | healthy | tests/test_analysis_unit.py:45 |
TestBuildFinancialSnapshot |
software | healthy | tests/test_analysis_unit.py:96 |
TestBuildDevelopmentPotential |
software | healthy | tests/test_analysis_unit.py:136 |
TestBuildViolationsAndCompliance |
software | healthy | tests/test_analysis_unit.py:158 |
TestBuildOwnershipAndLegal |
software | healthy | tests/test_analysis_unit.py:224 |
TestBuildTenantAndOperations |
software | healthy | tests/test_analysis_unit.py:265 |
TestBuildComparableMarket |
software | healthy | tests/test_analysis_unit.py:303 |
TestGenerateObservations |
software | healthy | tests/test_analysis_unit.py:327 |
TestEscapeLike |
software | healthy | tests/test_security.py:28 |
_FakeTokenAuth |
software | healthy | tests/test_security.py:82 |
TestBearerTokenMiddleware |
software | healthy | tests/test_security.py:116 |
TestCleanupGating |
software | healthy | tests/test_sync_all_cleanup.py:78 |
TestCleanupKillSwitch |
software | healthy | tests/test_sync_all_cleanup.py:118 |
TestCleanupCannotChangeExitCode |
software | healthy | tests/test_sync_all_cleanup.py:149 |
TestGetHpdComplaintsValidation |
software | healthy | tests/test_new_tools_validation.py:24 |
TestGetLiensValidation |
software | healthy | tests/test_new_tools_validation.py:68 |
TestGetBuildingPermitsValidation |
software | healthy | tests/test_new_tools_validation.py:100 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
203.0.113.42 |
network | healthy | tests/test_anon_chat_instrumentation.py |
1.2.3.4 |
network | healthy | tests/test_anon_chat_instrumentation.py |
203.0.113.7 |
network | healthy | tests/test_anon_chat_instrumentation.py |
203.0.113.8 |
network | healthy | tests/test_anon_chat_instrumentation.py |
203.0.113.1 |
network | healthy | tests/test_signup_endpoint.py |
127.0.0.1 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.10 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.11 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.20 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.21 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.22 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.23 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.24 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.30 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.40 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.41 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.50 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.51 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.52 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.53 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.54 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.55 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.60 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.70 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.71 |
network | healthy | tests/test_signup_endpoint.py |
203.0.113.72 |
network | healthy | tests/test_signup_endpoint.py |
172.16.0.0 |
network | healthy | src/nyc_property_intel/chat.py |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
test_tools |
software | healthy | tests/test_tools |
test_queries |
software | healthy | tests/test_queries |
fixtures |
software | healthy | tests/fixtures |
scripts |
software | healthy | scripts |
migrations |
software | healthy | scripts/migrations |
src |
software | healthy | src |
nyc_property_intel |
software | healthy | src/nyc_property_intel |
tools |
software | healthy | src/nyc_property_intel/tools |
docs |
software | healthy | docs |
content-marketing |
software | healthy | docs/content-marketing |
site |
software | healthy | site |
js |
software | healthy | site/js |
css |
software | healthy | site/css |
assets |
software | healthy | site/assets |
| Label | Layer | Status | Path |
|---|---|---|---|
007_tier2_natural_pks.sql |
data | healthy | scripts/migrations/007_tier2_natural_pks.sql |
013_anon_chat_queries_ran_analyze.sql |
data | healthy | scripts/migrations/013_anon_chat_queries_ran_analyze.sql |
015_shared_reports.sql |
data | healthy | scripts/migrations/015_shared_reports.sql |
005_marshal_evictions_composite_pk.sql |
data | healthy | scripts/migrations/005_marshal_evictions_composite_pk.sql |
010_acris_subtables_sync_state.sql |
data | healthy | scripts/migrations/010_acris_subtables_sync_state.sql |
011_anon_chat_queries.sql |
data | healthy | scripts/migrations/011_anon_chat_queries.sql |
003_acris_master_pk.sql |
data | healthy | scripts/migrations/003_acris_master_pk.sql |
001_sync_state.sql |
data | healthy | scripts/migrations/001_sync_state.sql |
006_dobjobs_natural_pk.sql |
data | healthy | scripts/migrations/006_dobjobs_natural_pk.sql |
014_fdny_zip_datetime_composite_index.sql |
data | healthy | scripts/migrations/014_fdny_zip_datetime_composite_index.sql |
009_dob_complaints_complaintnumber_text.sql |
data | healthy | scripts/migrations/009_dob_complaints_complaintnumber_text.… |
012_magic_link_24h_ttl.sql |
data | healthy | scripts/migrations/012_magic_link_24h_ttl.sql |
008_fdny_nypd_pks.sql |
data | healthy | scripts/migrations/008_fdny_nypd_pks.sql |
002_tier1_pks.sql |
data | healthy | scripts/migrations/002_tier1_pks.sql |
004_marshal_evictions_pk.sql |
data | healthy | scripts/migrations/004_marshal_evictions_pk.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
shared_reports |
data | healthy | scripts/migrations/015_shared_reports.sql |
anon_chat_queries |
data | healthy | scripts/migrations/011_anon_chat_queries.sql |
sync_state |
data | healthy | scripts/migrations/001_sync_state.sql |
nyc_311_complaints |
data | healthy | scripts/load_local_datasets.py |
fdny_incidents |
data | healthy | scripts/load_local_datasets.py |
nypd_crime_complaints |
data | healthy | scripts/load_local_datasets.py |
mcp_tokens |
data | healthy | scripts/manage_tokens.py |
mcp_daily_usage |
data | healthy | scripts/manage_tokens.py |
mcp_usage_log |
data | healthy | scripts/manage_tokens.py |
web_magic_links |
data | healthy | scripts/manage_tokens.py |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | .env.example |
postgres |
data | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | .env.example |
port:5432 |
network | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
ccedacero__nyc-property-intel |
software | healthy | /data/fable5_failed_archive/ccedacero__nyc-property-intel |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
hardware | healthy | docker-compose.yml |
This page is publicly accessible at:
https://repobility.com/scan/d7d4b239-4e5c-4c4f-b4cf-1c6cdb54c996/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/d7d4b239-4e5c-4c4f-b4cf-1c6cdb54c996/
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.