{"sites":{"site_v_slds_branching":{"name":"Bayshore Utility Assistance","features":["conditional_fields","slds_controls","submission_capture"],"tests":"SLDS-style label-interception choice controls + PG&E-shaped branching (BR-1 regression)"},"site_w_probe_lockout":{"name":"Harborview Aid Network","features":["probe_lockout","submission_capture"],"tests":"Choice group that defeats every click strategy — probe must fail loud, not conclude linear"},"site_x_hidden_choice":{"name":"Crestline Community Fund","features":["hidden_native_choice","submission_capture"],"tests":"Custom widget hides native radio group (display:none) — locators never resolve; probe must abort, not certify linear"},"site_ab_decoy_forms":{"name":"Foothill Family Alliance","features":["decoy_forms","submission_capture"],"tests":"Search/newsletter decoy forms precede the real intake form in document order — extraction must rank forms, not take the first two"},"site_z_interaction_gated":{"name":"Sierra Vista Energy Fund","features":["interaction_gated_js","submission_capture"],"tests":"Form hidden until first real user-interaction event (WP Rocket delay-JS pattern) — crawler must nudge, then crawl normally"},"site_y_readback_echo":{"name":"Meadowbrook Housing Trust","features":["readback_echo","submission_capture"],"tests":"Two-page form whose step 2 echoes the entered income as display text — echo masking must black it out in stored screenshots"},"site_a_shelter":{"name":"Hope House Shelter","features":["submission_capture"],"tests":"Baseline shelter intake form"},"site_b_legalaid":{"name":"Community Legal Aid Society","features":["session_token","submission_capture"],"tests":"Session tokens, replay model validation"},"site_c_veterans":{"name":"Veterans Resource Center","features":["conditional_fields","submission_capture"],"tests":"Branching/conditional field visibility"},"site_d_food":{"name":"Food For All Community Pantry","features":["malformed_html","submission_capture"],"tests":"Malformed HTML, locator stress testing"},"site_e_housing":{"name":"Safe Harbor Housing Alliance","features":["captcha","sensitive_fields","submission_capture"],"tests":"Sensitive fields, consent, CAPTCHA detection"},"site_f_veterans_required":{"name":"Veterans Resource Center (Disability Benefits Unit)","features":["conditional_fields","submission_capture"],"tests":"Required conditional field — locator unresolved, Runner pre-flight must block"},"site_g_sensitive_nocaptcha":{"name":"Community Support Services","features":["sensitive_fields","sections","file_upload","consent","submission_capture"],"tests":"Sensitive fields without CAPTCHA — Runner can run end-to-end; halt test for new required field. Also fieldset/legend sections, an optional multi-file upload (max 3, 10MB), and an unsectioned consent checkbox"},"site_h_multiservice":{"name":"Pacific Community Services","features":["nested_navigation","submission_capture"],"tests":"Two-layer navigation — top nav plus program sub-nav; simple flat intake form"},"site_i_dynamic_form":{"name":"Northwest Family Resources","features":["nested_navigation","dynamic_form_fields","submission_capture"],"tests":"Two-layer navigation plus intake form with dynamic fields revealed by select/checkbox"},"site_j_paginated":{"name":"Riverside Community Services","features":["pagination","file_upload","consent","sections","multiple_rows","admin_fields","submission_capture"],"tests":"3-page paginated intake (Step N of 3) with Next traversal, optional file upload, required consent checkbox, a repeatable Household Members section (max 5 rows), and admin fields (assistance, referral source, signature, review confirmation); terminal submit on page 3"},"site_k_conditional":{"name":"Cascade Mobility Services","features":["pagination","cross_page_branching","submission_capture"],"tests":"Page 2 questions are conditioned on page 1 answers ('Given that you selected that you do not drive...'). No same-page branching, so only cross-page dependency detection catches it — Builder must flag cross_page_branching and abort"},"site_l_gated":{"name":"Summit Benefits Access","features":["scroll_gated_consent","accordion","details","iframe","sections","consent","submission_capture"],"tests":"Consent checkbox stays disabled until a scrollable terms box is scrolled to the bottom; a collapsed accordion hides a REQUIRED field; a <details> block hides another; a same-origin iframe holds a scrollable notice. Tests prepare_page scroll/expand/iframe handling on arrival"},"site_m_login_gate":{"name":"Gateway Housing Network","features":["login_required","submission_capture"],"tests":"Login/account-creation gate before intake — Builder halts with login_required; Runner pre-flight blocks"},"site_n_payment":{"name":"Meridian Transitional Housing","features":["payment_field","submission_capture"],"tests":"Application-fee credit-card fields — Builder raises payment_field (blocking red flag)"},"site_o_invisible_captcha":{"name":"Harbor Point Outreach","features":["invisible_captcha","submission_capture"],"tests":"reCAPTCHA-v3-style score-based badge (no challenge widget) — captcha_type=invisible, Builder PROCEEDS (no halt)"},"site_p_crosspage_echo":{"name":"Riverbend Services","features":["cross_page_branching","echo_false_positive","submission_capture"],"tests":"Page 2 echoes the page-1 last_name value ('Testerson') with no conditional phrasing → cross_page_branching (medium) → abort. Second flow (/intake_safe) echoes only short/numeric values → NO abort (echo false-positive resistance)"},"site_q_ambiguous_submit":{"name":"Cornerstone Assistance","features":["ambiguous_submit","submission_capture"],"tests":"Two type=submit buttons + a 'Continue' label + no progress indicator → ambiguous terminality → ambiguous_submit (LLM-variance; 2 attempts)"},"site_r_edgecases":{"name":"Anchor Family Services","features":["heading_sections","repeatable_false_positive","missing_options","failed_extract","unmappable_full_ssn","file_upload","submission_capture"],"tests":"Edge-case kitchen sink: h3 heading-fallback sections; fixed member_1/member_2 fields with no add-row (repeatable false-positive); empty <select> (missing_options + failed_extract); full 9-digit SSN (unmappable_field); custom div widget; file input with size-in-text and a null-cap multiple upload"},"site_t_challenges":{"name":"Northgate Relief Center","features":["interactive_captcha","vision_escalation","submission_capture"],"tests":"Interactive human-verification challenges — detection & HALT only (never solve). /intake = text math challenge (DOM-readable); /intake_image = distorted-text CAPTCHA as a data: img with an unlabeled input (text extractor blind → must escalate to vision, then still halt). Both expect interactive_captcha + Runner pre-flight abort."},"site_u_other_specify":{"name":"Lakeside Community Resources","features":["other_specify","submission_capture"],"tests":"'Other, specify' reveal fields — a radio (How did you hear about us?) and a select (accommodations) each have an 'Other' option that reveals a single free-text 'please specify' box. Must be captured as conditional companion fields (revealed_by_key + reveal_values + is_specify_field), NOT treated as branching. Dry run selects Other, reveals the box, and fills it."},"site_s_variants":{"name":"Lakeshore Aid Society","features":["drift_variants","submission_capture"],"tests":"Drift-variant host using the server variant switch. /intake serves v1 (base), v2 (+optional field → non-critical), v3 (+required field → critical halt), v4 (reorder → cosmetic, no version bump). Same URL → same lineage → real drift"},"site_ac_div_intake":{"name":"Riverstone Family Center","features":["div_form","ambiguous_submit","sensitive_fields","heading_sections","missing_options","failed_extract","unmappable_full_ssn","submission_capture"],"tests":"Application built entirely from divs (no <form> element) with two type=button controls, h2 heading sections, an empty select, a no-input star widget, and a full 9-digit SSN field"},"site_ad_wizard_links":{"name":"Blue Spruce Employment Alliance","features":["link_navigation","pagination","multiple_rows","repeatable_false_positive","admin_fields","echo_false_positive","submission_capture"],"tests":"Three-step wizard advancing via styled <a> links (steps 1-2 have no <form>); step 2 has an add-row jobs section (cap 4), a fixed two-slot references block, and a short numeric readback; step 3 holds staff-assisted questions"},"site_ae_deep_portal":{"name":"Cedar Valley Community Portal","features":["nested_navigation","decoy_forms","sections","file_upload","consent","submission_capture"],"tests":"Application reachable only through a four-level navigation chain; the page holds search/newsletter widget forms around the real application, fieldset sections, a 2-file/5MB upload, and a consent checkbox outside every fieldset"},"site_af_branch_cards":{"name":"Harvest Hill Assistance Fund","features":["conditional_fields","slds_controls","other_specify","submission_capture"],"tests":"SLDS-style card controls with three independent one-level reveals - housing radios reveal a required-when-visible field, a referral select's \"Other\" reveals a specify box, a children checkbox reveals two optional fields; completed submissions are captured and readable at /submissions/latest"},"site_ag_widget_maze":{"name":"Foxglove Relief Collective","features":["probe_lockout","hidden_native_choice","submission_capture"],"tests":"Two hostile radio groups on one page - an income-band group whose script suppresses all pointer events in the capture phase, and an aid-type group whose native radios are display:none behind pill-styled divs"},"site_ah_member_gate":{"name":"Ironwood Veterans Outreach","features":["login_required","session_token","div_form","submission_capture"],"tests":"Div-based modal sign-in dialog (no <form>) with a fresh per-visit session value in a hidden input; the application preview beneath is fully disabled"},"site_ai_fee_verify":{"name":"Sunrise Transitional Services","features":["payment_field","invisible_captcha","interactive_captcha","vision_escalation","submission_capture"],"tests":"/intake asks for card number/expiry/CVC under a silent score-badge notice; /intake_challenge pairs a plain-text math question with a distorted-text image challenge (a data: URI img and an unlabeled input)"},"site_aj_patience_portal":{"name":"Willowbrook Senior Aid","features":["interaction_gated_js","table_layout","scroll_gated_consent","iframe","details","accordion","submission_capture"],"tests":"Form hidden until the first user-interaction event; fields laid out in table rows; terms in a same-origin iframe whose scroll unlocks the disabled consent box; a closed <details> holds a required select; a fake expander link navigates away"},"site_ak_flow_dependent":{"name":"Aspen Grove Housing Cooperative","features":["malformed_html","cross_page_branching","echo_positive","submission_capture"],"tests":"/intake step 1 is malformed HTML and step 2 is phrased around the step-1 heating answer; /intake_echo step 2 repeats the distinctive step-1 last name verbatim with no conditional phrasing"},"site_al_ledger_drift":{"name":"Maple Union Resource Exchange","features":["drift_variants","readback_echo","sensitive_fields","pagination","submission_capture"],"tests":"Two-step flow whose step 2 repeats the entered income as display text (no pure-black styling); step 1 ships v1-v4 variant files at the same URL (v2 +optional field, v3 +required field, v4 reorder only)"}}}