https://github.com/dbower44022/cbm-client-intake
· scanned 2026-06-17 01:53 UTC (1 month, 1 week ago)
23 raw signals (0 security + 23 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ -11.7 (diff) · 19 actionable findings from 1 signal source. 4 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 211 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 |
|---|---|---|---|
__init__ |
software | healthy | tests/test_info_request.py:13 |
create |
software | healthy | tests/test_info_request.py:20 |
update |
software | healthy | tests/test_info_request.py:25 |
find_one |
software | healthy | tests/test_info_request.py:29 |
_request |
software | healthy | tests/test_info_request.py:38 |
test_new_contact_without_company_skips_account |
software | healthy | tests/test_info_request.py:51 |
test_new_contact_with_company_creates_prospect_account |
software | healthy | tests/test_info_request.py:65 |
test_existing_contact_appends_description |
software | healthy | tests/test_info_request.py:82 |
test_existing_contact_with_empty_description |
software | healthy | tests/test_info_request.py:98 |
test_how_did_you_hear_lands_in_description |
software | healthy | tests/test_info_request.py:107 |
test_message_is_required |
software | healthy | tests/test_info_request.py:115 |
__init__ |
software | healthy | tests/test_client_intake.py:20 |
create |
software | healthy | tests/test_client_intake.py:27 |
find_one |
software | healthy | tests/test_client_intake.py:32 |
relate |
software | healthy | tests/test_client_intake.py:39 |
_submission |
software | healthy | tests/test_client_intake.py:43 |
test_creates_four_linked_records |
software | healthy | tests/test_client_intake.py:71 |
test_matched_contact_is_reused_not_created |
software | healthy | tests/test_client_intake.py:105 |
test_matched_account_is_reused_not_created |
software | healthy | tests/test_client_intake.py:115 |
test_pre_startup_creates_placeholder_account_without_profile |
software | healthy | tests/test_client_intake.py:130 |
test_email_mismatch_rejected |
software | healthy | tests/test_client_intake.py:148 |
test_website_normalized_or_dropped |
software | healthy | tests/test_client_intake.py:172 |
_submission |
software | healthy | tests/test_quarantine.py:14 |
test_message_carries_payload_and_clears_honeypot |
software | healthy | tests/test_quarantine.py:27 |
test_oversized_fields_are_redacted |
software | healthy | tests/test_quarantine.py:44 |
test_disabled_when_smtp_unconfigured |
software | healthy | tests/test_quarantine.py:57 |
test_sends_when_configured |
software | healthy | tests/test_quarantine.py:64 |
fake_send |
software | healthy | tests/test_quarantine.py:74 |
test_send_failure_is_swallowed |
software | healthy | tests/test_quarantine.py:84 |
boom |
software | healthy | tests/test_quarantine.py:91 |
test_us_ten_digit_dashed |
software | healthy | tests/test_phone.py:4 |
test_us_ten_digit_parens_spaces |
software | healthy | tests/test_phone.py:8 |
test_us_eleven_digit_leading_one |
software | healthy | tests/test_phone.py:12 |
test_plain_ten_digits |
software | healthy | tests/test_phone.py:16 |
test_already_e164_passthrough |
software | healthy | tests/test_phone.py:20 |
test_empty_passthrough |
software | healthy | tests/test_phone.py:24 |
__init__ |
software | healthy | tests/test_volunteer.py:17 |
create |
software | healthy | tests/test_volunteer.py:23 |
find_one |
software | healthy | tests/test_volunteer.py:28 |
upload_attachment |
software | healthy | tests/test_volunteer.py:33 |
_application |
software | healthy | tests/test_volunteer.py:42 |
test_creates_contact_and_mentor_profile |
software | healthy | tests/test_volunteer.py:62 |
test_matched_contact_is_reused_profile_still_created |
software | healthy | tests/test_volunteer.py:84 |
test_max_six_areas_enforced |
software | healthy | tests/test_volunteer.py:95 |
test_terms_required |
software | healthy | tests/test_volunteer.py:100 |
test_resume_uploaded_and_linked_on_profile |
software | healthy | tests/test_volunteer.py:105 |
test_no_resume_means_no_upload |
software | healthy | tests/test_volunteer.py:128 |
test_unsupported_resume_type_rejected |
software | healthy | tests/test_volunteer.py:136 |
test_frontend_assets_revalidate |
software | healthy | tests/test_caching.py:16 |
test_unchanged_asset_returns_304 |
software | healthy | tests/test_caching.py:24 |
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 |
CLAUDE.md |
software | healthy | CLAUDE.md |
score-mentor-request-form.yaml |
software | healthy | score-mentor-request-form.yaml |
README.md |
software | healthy | README.md |
DEPLOYMENT.md |
software | healthy | DEPLOYMENT.md |
pyproject.toml |
software | healthy | pyproject.toml |
main.py |
software | healthy | main.py |
score-mentor-request-form-fields.md |
software | healthy | score-mentor-request-form-fields.md |
score-volunteer-form-6-mapping.md |
software | healthy | score-volunteer-form-6-mapping.md |
STAFF-DEPLOYMENT-GUIDE.md |
software | healthy | STAFF-DEPLOYMENT-GUIDE.md |
Dockerfile |
software | healthy | Dockerfile |
test_info_request.py |
software | healthy | tests/test_info_request.py |
test_client_intake.py |
software | healthy | tests/test_client_intake.py |
test_quarantine.py |
software | healthy | tests/test_quarantine.py |
test_phone.py |
software | healthy | tests/test_phone.py |
test_volunteer.py |
software | healthy | tests/test_volunteer.py |
test_caching.py |
software | healthy | tests/test_caching.py |
deploy.sh |
software | healthy | scripts/deploy.sh |
__init__.py |
software | healthy | forms/__init__.py |
orchestrator.py |
software | healthy | forms/client_intake/orchestrator.py |
__init__.py |
software | healthy | forms/client_intake/__init__.py |
schemas.py |
software | healthy | forms/client_intake/schemas.py |
options.js |
software | healthy | forms/client_intake/frontend/options.js |
app.js |
software | healthy | forms/client_intake/frontend/app.js |
index.html |
software | healthy | forms/client_intake/frontend/index.html |
orchestrator.py |
software | healthy | forms/info_request/orchestrator.py |
__init__.py |
software | healthy | forms/info_request/__init__.py |
schemas.py |
software | healthy | forms/info_request/schemas.py |
app.js |
software | healthy | forms/info_request/frontend/app.js |
index.html |
software | healthy | forms/info_request/frontend/index.html |
orchestrator.py |
software | healthy | forms/volunteer/orchestrator.py |
__init__.py |
software | healthy | forms/volunteer/__init__.py |
schemas.py |
software | healthy | forms/volunteer/schemas.py |
options.js |
software | healthy | forms/volunteer/frontend/options.js |
app.js |
software | healthy | forms/volunteer/frontend/app.js |
index.html |
software | healthy | forms/volunteer/frontend/index.html |
wizard.js |
software | healthy | frontend/shared/wizard.js |
wizard.css |
software | healthy | frontend/shared/wizard.css |
footer.js |
software | healthy | frontend/shared/footer.js |
tokens.css |
software | healthy | frontend/shared/tokens.css |
CBM_Client_Intake_Requirements_Specification.md |
software | healthy | prds/CBM_Client_Intake_Requirements_Specification.md |
CBM_Client_Intake_Technical_Design.md |
software | healthy | prds/CBM_Client_Intake_Technical_Design.md |
forms.py |
software | healthy | core/forms.py |
__init__.py |
software | healthy | core/__init__.py |
config.py |
software | healthy | core/config.py |
quarantine.py |
software | healthy | core/quarantine.py |
phone.py |
software | healthy | core/phone.py |
app.py |
software | healthy | core/app.py |
espo.py |
software | healthy | core/espo.py |
version.py |
software | healthy | core/version.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
scripts |
software | healthy | scripts |
forms |
software | healthy | forms |
client_intake |
software | healthy | forms/client_intake |
frontend |
software | healthy | forms/client_intake/frontend |
info_request |
software | healthy | forms/info_request |
frontend |
software | healthy | forms/info_request/frontend |
volunteer |
software | healthy | forms/volunteer |
frontend |
software | healthy | forms/volunteer/frontend |
frontend |
software | healthy | frontend |
shared |
software | healthy | frontend/shared |
prds |
software | healthy | prds |
core |
software | healthy | core |
prompts |
software | healthy | prompts |
| Label | Layer | Status | Path |
|---|---|---|---|
CapturingClient |
software | healthy | tests/test_info_request.py:12 |
CapturingClient |
software | healthy | tests/test_client_intake.py:17 |
CapturingClient |
software | healthy | tests/test_volunteer.py:16 |
IntakeSubmission |
software | healthy | forms/client_intake/schemas.py:28 |
InfoRequest |
software | healthy | forms/info_request/schemas.py:17 |
ResumeUpload |
software | healthy | forms/volunteer/schemas.py:30 |
VolunteerApplication |
software | healthy | forms/volunteer/schemas.py:42 |
BaseSubmission |
software | healthy | core/forms.py:21 |
FormSpec |
software | healthy | core/forms.py:35 |
Settings |
software | healthy | core/config.py:10 |
EspoError |
software | healthy | core/espo.py:23 |
EspoApi |
software | healthy | core/espo.py:27 |
EspoClient |
software | healthy | core/espo.py:49 |
DryRunEspoClient |
software | healthy | core/espo.py:147 |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /healthz |
api | healthy | core/app.py |
GET / |
api | healthy | core/app.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8099 |
network | healthy | CLAUDE.md |
port:8080 |
network | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::digitalocean |
hardware | healthy | CLAUDE.md |
vps::droplet |
hardware | healthy | CLAUDE.md |
| Label | Layer | Status | Path |
|---|---|---|---|
dbower44022__cbm-client-intake |
software | healthy | /data/fable5_failed_archive/dbower44022__cbm-client-intake |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
This page is publicly accessible at:
https://repobility.com/scan/f6730d4e-9f37-4a34-b381-474399689aaf/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/f6730d4e-9f37-4a34-b381-474399689aaf/
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.